package com.example.d8_homework.homework02;

import java.math.BigDecimal;
import java.math.RoundingMode;

public class Test {
    public static void main(String[] args) {
        // 需求：日常开发中,浮点数参数运算场景不少,但是java中浮点数在运算时往往不够精确,所以需要别的方式来解决,请并且给出精确输出(得到结果为0.2)的代码！
        // 定义两个double类型的变量
        double a = 0.01;
        double b = 0.05;

        // 将double类型的变量转换为BigDecimal,以确保在接下来的运算中保持精确度
        BigDecimal a1 = BigDecimal.valueOf(a);
        BigDecimal b1 = BigDecimal.valueOf(b);

        // 使用BigDecimal进行除法运算,指定小数点后保留2位,并采用四舍五入的方式处理小数点后第三位
        // 这里的操作确保了运算结果的精确性,并且满足了输出结果为0.2的需求
        BigDecimal divide = a1.divide(b1, 2, RoundingMode.HALF_UP);
        // 输出运算结果的double值
        System.out.println(divide.doubleValue());
    }
}
